﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CapaDatos.DataSet1TableAdapters;

namespace CapaNegocio
{
    public class Clase_Producto
    {
        public int Id_Producto { get; set; }
        public string Nombre_Producto { get; set; }
        public string Descripcion { get; set; }
        public int Cantidad_Producto { get; set; }
        public decimal Precio_Producto { get; set; }
        public int Id_Iva { get; set; }
        //public string Tiene_o_no_tiene { get; set; }
           public double Porcentaje { get; set; }


        public List<Clase_Producto> Metodo_ObtenerProducto()
        {
            List<Clase_Producto> Producto = new List<Clase_Producto>();
            spConsultar_ProductoTableAdapter tabla = new spConsultar_ProductoTableAdapter();

            foreach (var item in tabla.GetData().ToList())
            {
                Producto.Add(new Clase_Producto { Nombre_Producto = item.Nombre_Producto, Descripcion = item.Descripcion, Cantidad_Producto = item.Cantidad_Producto, Precio_Producto = item.Precio_Porducto, Porcentaje = Convert.ToDouble(item.Porcentaje), Id_Producto = item.Id_Producto });
                
            }
           

            return Producto;
   
        }

        public List<Clase_Producto> Metodo_ObtenerProductoYModificar()
        {
            List<Clase_Producto> Producto = new List<Clase_Producto>();
           spConsultaparaModificarProductoTableAdapter tabla = new spConsultaparaModificarProductoTableAdapter();

            foreach (var item in tabla.GetData().ToList())
            {
                Producto.Add(new Clase_Producto { Nombre_Producto = item.Nombre_Producto, Descripcion = item.Descripcion, Cantidad_Producto = item.Cantidad_Producto, Precio_Producto = item.Precio_Porducto, Porcentaje = Convert.ToDouble(item.Porcentaje), Id_Producto = item.Id_Producto, Id_Iva = item.Id_IVA, });

            }


            return Producto;

        }


        public List<Clase_Producto> Metodo_ObtenerIva()
        {
            List<Clase_Producto> Iva = new List<Clase_Producto>();
            spConsultarIvaTableAdapter objetoiva = new spConsultarIvaTableAdapter();

            foreach (var item in objetoiva.GetData().ToList())
            {
                Iva.Add(new Clase_Producto { Id_Iva = item.Id_IVA, Porcentaje = Convert.ToDouble(item.Porcentaje) });
            }

            return Iva;
     
        }

        public string Metodo_ModificarProducto(Clase_Producto Mod_Producto)
        {
            string Mensaje = "Los datos fueron modificados correctamente";
            try
            {
                QueriesTableAdapter dato = new QueriesTableAdapter();
                dato.spActualizar_Producto(Mod_Producto.Id_Producto, Mod_Producto.Nombre_Producto, Mod_Producto.Descripcion, Mod_Producto.Cantidad_Producto, Mod_Producto.Precio_Producto, Mod_Producto.Id_Iva);
            }
            catch (Exception ex)
            {
                Mensaje = ex.Message;
            }

            return Mensaje;
        }

        public string Metodo_EliminarProducto(Clase_Producto Elim_Producto)
        {
            string Mensaje = "";
            try
            {
                QueriesTableAdapter dato = new QueriesTableAdapter();
                dato.spEliminar_Producto(Elim_Producto.Id_Producto);
                Mensaje = "eliminado";
            }
            catch (Exception ex)
            {
                Mensaje = ex.Message;
            }

            return Mensaje;
        }
    }
}
